package dominio;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;

/**
 * @author DEVAIR
 * @version 1.0 @created 02-nov-2013 16:59:06
 */
@Entity
@Table(name = "arquivo")
@SequenceGenerator(name = "arquivoseq",initialValue=1,allocationSize=1)
@NamedQueries({
    @NamedQuery(name = "arquivopasta", query = "select e from ArquivoMd e where e.pasta.id = :idpasta")
})

public class ArquivoMd implements Serializable {
    
   

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "arquivoseq")
    @Column(name = "id")
    private long id;
    @Column(name = "nome",nullable=false)    
    private String nome;
    @Column(name = "data_criacao",nullable=false)
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCriacao;
    @Column(name = "data_alteracao")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataAlteracao;
    @Column(name = "descricao",length=100)
    private String descricao;
    @Column(name = "caminho",nullable=false)
    private String caminho;
    @Column(name = "tag")
    private List<String> tags;
    
    @ManyToOne
    private PastaMd pasta;

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the dataCriacao
     */
    public Date getDataCriacao() {
        return dataCriacao;
    }

    /**
     * @param dataCriacao the dataCriacao to set
     */
    public void setDataCriacao(Date dataCriacao) {
        this.dataCriacao = dataCriacao;
    }

    /**
     * @return the dataAlteracao
     */
    public Date getDataAlteracao() {
        return dataAlteracao;
    }

    /**
     * @param dataAlteracao the dataAlteracao to set
     */
    public void setDataAlteracao(Date dataAlteracao) {
        this.dataAlteracao = dataAlteracao;
    }

    /**
     * @return the descricao
     */
    public String getDescricao() {
        return descricao;
    }

    /**
     * @param descricao the descricao to set
     */
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    /**
     * @return the caminho
     */
    public String getCaminho() {
        return caminho;
    }

    /**
     * @param caminho the caminho to set
     */
    public void setCaminho(String caminho) {
        this.caminho = caminho;
    }

    /**
     * @return the tags
     */
    public List<String> getTags() {
        return tags;
    }

    /**
     * @param tags the tags to set
     */
    public void setTags(List<String> tags) {
        this.tags = tags;
    }

    /**
     * @return the pasta
     */
    public PastaMd getPasta() {
        return pasta;
    }

    /**
     * @param pasta the pasta to set
     */
    public void setPasta(PastaMd pasta) {
        this.pasta = pasta;
    }
}